.\"   $Id: applyBdd.3,v 1.1 2002/04/03 13:13:25 ludo Exp $
.\" @(#)applyBdd.2 7.01 92/08/22 ; Labo masi cao-vlsi; Author : Luc Burgun
.TH APPLYBDD 3 "October 1, 1997" "ASIM/LIP6" "BDD functions"
.so man1/alc_origin.1
.SH NAME
\fBapplyBdd\fP \- applies an operator to a list of BDD. 
.SH SYNOPSIS
.nf
#include "logmmm.h"
pNode applyBdd(oper,pt)
short oper;
chain_list *pt;
.fi
.SH PARAMETERS
.TP 20
\fIoper\fP
operator number to apply (OR,AND,XOR,NAND,NOR,NXOR,NOT)
.TP 20
\fIpt\fP
\fIchain_list\fP of BDD.
.SH DESCRIPTION
\fBapplyBdd()\fP applies \fIoper\fP to a list of Bdd. This list can be created by \fBaddListBdd()\fP function. This function provides the basic method for creating the representation of a function according to the operators in a boolean expression.
.SH EXAMPLE
.nf
#include "mutnnn.h"		/* mbk utilities */
#include "logmmm.h"
pNode nodeA,nodeB,nodeC;
pNode res;
chain_list *pt;

initializeBdd(SMALL_BDD);
nodeA = createNodeTermBdd(3);
nodeB = createNodeTermBdd(3);
nodeC = createNodeTermBdd(4);
pt = NULL;
pt = addListBdd(pt,nodeA);
pt = addListBdd(pt,nodeB);
pt = addListBdd(pt,nodeC);
res = applyBdd(OR,pt);
displayBdd(res,1);

/* it will display 
@res    INDEX = 4   LOW = @inter   HIGH = ONE
@inter  INDEX = 3   LOW = @nodeA   HIGH = ONE
@nodeA  INDEX = 2   LOW = ZERO	   HIGH = ONE
*/
	
destroyBdd(1);
.fi
.SH ERRORS
"applyBdd : error - unknown operator"
.br
the operator number must be in (OR,AND,XOR,NAND,NOR,NXOR,NOT)
.br
"applyBdd : error - chained list is empty"
.br
chained list pointer \fIpt = NULL\fP.
.br
"applyBdd : error - bad operator"
.br
The  number of arguments is 1 and the operator is distinct from NOT.
.br
chained list pointer \fIpt = NULL\fP.
.br
.SH SEE ALSO
.BR log (1),
.BR bdd (1),
.BR addListBdd (3),
.BR applyBinBdd (3),
.BR notBdd (3),
.BR constraintBdd (3),
.BR composeBdd (3),
.BR displayBdd (3),
.BR createNodeTermBdd (3).

.so man1/alc_bug_report.1

